Enabling Speculative Parallelization via Merge Semantics in STMs
نویسندگان
چکیده
STM (Software Transactional Memory) systems can be used to speculatively parallelize irregular applications such as those based on graphs and trees. While the transactional paradigm is suitable for such speculative parallelization, STMs do not deal with the semantics of speculation. In this paper we introduce merge semantics for speculations. STMs optimistically execute code and monitor the execution for memory access conflicts. On detecting a conflict between a pair of transactions the STM performs a rollback on one of them, discarding all the work that has been done until that point. This wastage leads to performance and scalability issues when there are many transactional conflicts. The key insight of this paper is that it is sometimes possible to salvage partially completed work and merge it with the other transaction. In this paper we motivate the need for the merge construct and develop the ideas behind it. We propose a simple API which can be used to define the merge operation. We discuss applications which would benefit from this construct. We implement the supporting framework and demonstrate its benefits on a Connected Components benchmark and a Minimum Spanning Tree benchmark. We report performance improvements of more than 75% when compared to a traditional STM parallelization of the Minimum Spanning Tree benchmark. Our framework also demonstrates excellent scalability when there are a large number of conflicts, a scenario where traditional STM systems do not scale well.
منابع مشابه
Optimizing Software Transactional Memory Replication via Speculation
Software Transactional Memories (STMs) are emerging as a potentially disruptive programming paradigm. Due to scalability and fault-tolerance requirements, Distributed STMs (DSTMs) are receiving more attention. Database management systems and STMs share the same key abstraction: atomic transactions. However, database and memory transactions have very distinct characteristics. Database replicatio...
متن کاملParallelizing Database Systems using Thread Level Speculation
Improving the performance of a program by splitting it into threads is hard, since a parallel machine model is more complex than a sequential one. Thread Level Speculation (TLS) allows a program to be parallelized while retaining sequential program semantics. In the past TLS has been shown to make automatic parallelization of programs much easier—in this paper we show that TLS makes manual para...
متن کاملAutomatic Exploitation of Input Parallelism
Parallelism may reside in the input of a program rather than the program itself. A script interpreter, for example, is hard to parallelize because its dynamic behavior is unpredictable until an input script is given. Once the interpreter is combined with the script, the resulting program becomes predictable, and even parallelizable if the input script contains parallelism. Despite recent progre...
متن کاملHelper Transactions: Enabling Thread-Level Speculation via A Transactional Memory System
As multi-core processors become readily available in the market, how to exploit parallelization opportunities to unleash the performance potential has become the utmost concern. Thread-Level Speculation (TLS) has been studied as one such enabling technique to automatically extracting possibly nonconflicting threads for execution in a program. On the other hand, transactional memory (TM) systems...
متن کاملSystem Support for Implicitly Parallel Programming
Implicit parallelization involves developing parallel algorithms and applications in environments that provide sequential semantics, e.g., the C programming language. System tools convert the parallel algorithms into a set of threads partitioned appropriately for a particular parallel machine organization. The resulting parallel programs are easier and faster to develop, debug and maintain, bec...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013